package com.yun.util.clickHouse.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface CkTable {
    /**
     * 表名 不指定就是类名
     * @return
     */
    String name() default "";

    /**
     * 表引擎 engine = ? 的 ?
     * @return
     */
    String engine() default "MergeTree()";

    /**
     * 分区键
     * @return
     */
    String parititionBy() default "";
    /**
     * 排序键
     */
    String orderBy() default "";
    /**
     * 主键
     */
    String primaryBy() default "";
    /**
     * 抽样表达式
     */
    String sample() default "";
    /**
     * 影响 性能的额外参数
     */
    String settings() default "";
    /**
     * ttl表达式
     * @return
     */
    String[] ttlExpr() default {};

}
